package com.woniuxy.redis.util;

import lombok.Data;

/**
 * redis关键key
 */
@Data
public class RedisKey {
    /**
     * 用户注册验证码
     * @param mobile 手机号码
     * @return
     */
    public static String UserRegistCodeKey(String mobile){
        return "user:regist:mobile:"+mobile;
    }

    /**
     * 用户登录验证码
     * @param mobile 手机号码
     * @return
     */
    public static String UserLoginCodeKey(String mobile){
        return "user:login:mobile:"+mobile;
    }

    /**
     * 用户修改手机验证码
     * @param mobile 手机号码
     * @return
     */
    public static String UserUpdatePhoneCodeKey(String mobile){
        return "user:update:phone:mobile:"+mobile;
    }

    /**
     * 用户修改新手机验证码
     * @param mobile 手机号码
     * @return
     */
    public static String UserUpdateNewPhoneCodeKey(String mobile){
        return "user:update:new:phone:mobile:"+mobile;
    }

    /**
     * 管理修改手机验证码
     * @param mobile 手机号码
     * @return
     */
    public static String AdminUpdatePhoneCodeKey(String mobile){
        return "admin:update:phone:mobile:"+mobile;
    }

    /**
     * 管理修改新手机验证码
     * @param mobile 手机号码
     * @return
     */
    public static String AdminUpdateNewPhoneCodeKey(String mobile){

        return "admin:update:new:phone:mobile:"+mobile;
    }

    /**
     * 用户注册验证码
     * @param mobile 手机号码
     * @return
     */
    public static String AdminRegistCodeKey(String mobile){
        return "admin:regist:mobile:"+mobile;
    }

    /**
     * 用户登录验证码
     * @param mobile 手机号码
     * @return
     */
    public static String AdminLoginCodeKey(String mobile){
        return "admin:login:mobile:"+mobile;
    }

    /**
     * 用户修改密码验证码
     * @param mobile 手机号码
     * @return
     */
    public static String AdminUpdatePassCodeKey(String mobile){
        return "admin:update:pass:mobile:"+mobile;
    }



    /**
     * 注册：输入五次错误验证码上限
     * @param mobile 手机号码
     * @return
     */
    public static String fiveMssageKey(String mobile){
        return "register:message:mobile:"+mobile;
    }

    /**
     * 一分钟内重复发送注册验证码
     * @param mobile 手机号码
     * @return
     */
    public static String phoneCodeOneMinuteKey(String mobile){
        return "register:code:minute:mobile:"+mobile;
    }

    /**
     * 输入五次错误验证码上限
     * @param mobile 手机号码
     * @return
     */
    public static String codeErrorNumber(String mobile){
        return "code:error:number:mobile:"+mobile;
    }
    /**
     * 用户下订单时的库存锁
     */
    public static String lockUserOrderNumber(String productId){
        return "lock:user:order:number:"+productId;
    }

    /**
     * 订单支付时间
     * @param orderNum 订单号
     * @return
     */
    public static String productPayTime(String orderNum) {
        return "product:pay:time:"+orderNum;
    }

    /**
     * 返回类别树缓存的key
     * @return
     */
    public static  String cacheMenu(){
        return "cache:Menu:tree";
    }


    /**
     * 返回鉴定师key
     * @return
     */
    public static  String jiandingshi(){
        return "jiandingshi";
    }

    /**
     * 返回评估师key
     * @return
     */
    public static  String pinggushi(){
        return "pinggushi";
    }

    /**
     * 门店缓存商品
     * @return
     */
    public static  String cacheGoods(Integer shopId){
        return "cache:goods:shop:id:"+shopId;
    }

    /**
     * 门店修改商品
     * @return
     */
    public static  String modifyGoodsPicture(Integer goodsId){
        return "modify:goods:id:"+goodsId;
    }

    /**
     * 单点登录
     * @return
     */
    public static  String AccountName(String accountName){
        return "account:name:"+accountName;
    }
}
